Efficient Jump Ahead for 2-Linear Random Number Generators
نویسندگان
چکیده
T fastest long-period random number generators currently available are based on linear recurrences modulo 2. So far, software that provides multiple disjoint streams and substreams has not been available for these generators because of the lack of efficient jump-ahead facilities. In principle, it suffices to multiply the state (a k-bit vector) by an appropriate k × k binary matrix to find the new state far ahead in the sequence. However, when k is large (e.g., for a generator such as the popular Mersenne twister, for which k = 19 937), this matrix-vector multiplication is slow, and a large amount of memory is required to store the k× k matrix. In this paper, we provide a faster algorithm to jump ahead by a large number of steps in a linear recurrence modulo 2. The method uses much less than the k2 bits of memory required by the matrix method. It is based on polynomial calculus modulo the characteristic polynomial of the recurrence, and uses a sliding window algorithm for the multiplication.
منابع مشابه
A Fast Jump Ahead Algorithm for Linear Recurrences in a Polynomial Space
Linear recurring sequences with very large periods are widely used as the basic building block of pseudorandom number generators. In many simulation applications, multiple streams of random numbers are needed, and these multiple streams are normally provided by jumping ahead in the sequence to obtain starting points that are far apart. For maximal-period generators having a large state space, t...
متن کاملEfficient Jump Ahead for F2-linear Random Number Generators
Hiroshi Haramoto, Makoto Matsumoto Department of Mathematics, Hiroshima University, Kagamiyama 1-3-1 Higashi-Hiroshima, Hiroshima 739-8526, Japan {[email protected] and [email protected]} Takuji Nishimura Department of Mathematical Sciences, Yamagata University, Yamagata 990-8586, Japan {[email protected]} François Panneton and Pierre L’Ecuyer Département ...
متن کاملRNGSSELIB: Program library for random number generation. More generators, parallel streams of random numbers and Fortran compatibility
RNGSSELIB: Program library for random number generation. More generators, parallel streams of random numbers and Fortran compatibility. Abstract In this update, we present the new version of the random number generator (RNG) library RNGSSELIB, which, in particular, contains fast SSE real-izations of a number of modern and most reliable generators [1]. The new features are: i) Fortran compatibil...
متن کاملParallelisation Techniques for Random Number Generators
In this chapter, we discuss the parallelisation of three very popular random number generators. In each case, the random number sequence which is generated is identical to that produced on a CPU by the standard sequential algorithm. The key to the parallelisation is that each CUDA thread block generates a particular block of numbers within the original sequence, and to do this it needs an effic...
متن کاملDesign of low power random number generators for quantum-dot cellular automata
Quantum-dot cellular automata (QCA) are a promising nanotechnology to implement digital circuits at the nanoscale. Devices based on QCA have the advantages of faster speed, lower power consumption, and greatly reduced sizes. In this paper, we are presented the circuits, which generate random numbers in QCA. Random numbers have many uses in science, art, statistics, cryptography, gaming, gambli...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- INFORMS Journal on Computing
دوره 20 شماره
صفحات -
تاریخ انتشار 2008